<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        
    </body>
    <script>
        // Object.values和Object.entries
        //     1.  Object.values()方法返回一个给定对象的所有可枚举属性值的数组
        //     2.  Object.entries()方法返回一个给定对象自身可比案例属性[key,value]的数组
        // Object.getOwnPropertyDescriptor该方法返回指定对象所有自身属性的描述对象

        // 声明对象
        const school = {
            name:"清华",
            cition:['东区','西区','新校区','老校区'],
            xueke:['文学院','理学院','法学院','工学院']
        };
        //获取对象所有的值   Object.keys方法，返回一个数组，成员是参数对象自身的（不含继承的）所有可遍历（enumerable）属性的键名。
        console.log(Object.keys(school));// ["name", "cition", "xueke"]
        //获取对象所有的值   Object.values方法返回一个数组，成员是参数对象自身的（不含继承的）所有可遍历（enumerable）属性的键值。
        console.log(Object.values(school));// ["清华", Array(4), Array(4)]
        // entries      Object.entries()方法返回一个数组，成员是参数对象自身的（不含继承的）所有可遍历（enumerable）属性的键值对数组。
        console.log(Object.entries(school));

        // 创建Map
        const m = new Map(Object.entries(school));
        console.log(m.get('cition'));//  ["东区", "西区", "新校区", "老校区"]

        // 对象属性的描述对象
        console.log(Object.getOwnPropertyDescriptors(school));

        /* const obj = Object.create(null,function(){
            // name里面就是   对象属性的描述对象
            name:{
                // 设置值
                value:"北大";
                a:true;
                configurable:true;
            }
        }) */
    </script>
</html>